# 静态方法
# 类方法
# 实例方法

class Dog(object):
    _name = '明明'
    def __init__(self, name):
        self.name = name

    # 静态方法,不需要使用实例对象,也不需要使用类对象
    # 没必要说使用内存暂用,性能占用
    @staticmethod
    def run(name):
        print(f'{name}在跑')

    # 类对象方法
    # 可以认为一次无参初始化对象
    # 如果实例化中对_name重新赋值
    # 对象执行这个方法_name被对象属性取代
    # 如果没有重新赋值_name就是类对象
    @classmethod
    def eat(cls):
        print(f'{cls._name}在吃')

    def sleep(self):
        print(f'{self._name}在睡')

    def getName(self):
        return self._name

d = Dog('冰冰')
Dog.run('豆豆')
Dog.eat()
d.sleep()

print(d.getName())